package interfases;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JButton;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.SwingConstants;

import logica.Desarrollador;
import logica.Perfil;

@SuppressWarnings("serial")
public class IConsultaPerfil_2 extends JFrame {

	private JPanel contentPane;
	private JPanel panelFoto;
	private JLabel labelNombre;
	private JLabel labelApellido;
	private JLabel labelFechaDeNacimiento;
	private JLabel labelNick;
	private JTextField datoNombre;
	private JTextField datoApellido;
	private JTextField datoNacimiento;
	private JTextField datoNick;
	private JTextField datoEmail;
	private JTextField datoPerfil;
	private JLabel labelEmail;
	private JLabel labelEdad;
	private JLabel labelLink = null;
	private JLabel labelFoto;
	private JTextField datoLink = null;
	private JButton btnAceptar;
	
	/*********************************************************************************************/
	private void centrarPantalla(JFrame ventana, int x, int y){
		Toolkit t = Toolkit.getDefaultToolkit();
		Dimension pantalla = t.getScreenSize();

		int height = pantalla.height;
		int width = pantalla.width;
		int px =  (int) (width-x)/2;
		int py =  (int) (height-y)/2;
		
		ventana.setBounds(px, py, x, y);
	}
	
	public IConsultaPerfil_2(Perfil perfil, int tipo) {
		setTitle("Perfil");
		setResizable(false);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		centrarPantalla(this, 650, 350);
		contentPane = new JPanel();
		contentPane.setBackground(new Color(255, 222, 173));
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(null);
		setContentPane(contentPane);
		
		labelNombre = new JLabel("Nombre:");
		labelNombre.setBounds(281, 30, 46, 14);
		labelNombre.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		contentPane.add(labelNombre);
		
		labelApellido = new JLabel("Apellido:");
		labelApellido.setBounds(280, 61, 47, 14);
		labelApellido.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		contentPane.add(labelApellido);
				
		labelFechaDeNacimiento = new JLabel("Fecha de Nacimiento:");
		labelFechaDeNacimiento.setBounds(213, 92, 114, 14);
		labelFechaDeNacimiento.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		contentPane.add(labelFechaDeNacimiento);
		
		labelNick = new JLabel("Nick:");
		labelNick.setBounds(300, 141, 27, 14);
		labelNick.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		contentPane.add(labelNick);
		
		labelEmail = new JLabel("E-Mail:");
		labelEmail.setBounds(292, 172, 35, 14);
		labelEmail.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		contentPane.add(labelEmail);
		
		labelEdad = new JLabel("Edad:");
		labelEdad.setBounds(297, 203, 30, 14);
		labelEdad.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		contentPane.add(labelEdad);
		
		panelFoto = new JPanel();
		panelFoto.setBackground(new Color(255, 250, 205));
		panelFoto.setBorder(new EmptyBorder(1, 1, 1, 1));
		panelFoto.setBounds(27, 27, 150, 150);		
		panelFoto.setLayout(null);
		contentPane.add(panelFoto);
		
		labelFoto = new JLabel("Foto:");
		labelFoto.setToolTipText("Foto de Perfil");
		labelFoto.setHorizontalAlignment(SwingConstants.CENTER);
		labelFoto.setBackground(new Color(255, 250, 205));
		labelFoto.setBounds(1, 1, 150, 150);
		labelFoto.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
		panelFoto.add(labelFoto);
		
		Image foto = perfil.getFoto();
		if(foto != null){
			labelFoto.setIcon(new ImageIcon(foto.getScaledInstance(150, 150, Image.SCALE_DEFAULT)));
			labelFoto.updateUI();
		}
		
		datoNombre = new JTextField();
		datoNombre.setBounds(335, 27, 280, 20);
		datoNombre.setBackground(Color.WHITE);
		datoNombre.setText(perfil.getNombre());
		datoNombre.setEditable(false);
		datoNombre.setColumns(10);
		contentPane.add(datoNombre);
		
		datoApellido = new JTextField();
		datoApellido.setBounds(335, 58, 280, 20);
		datoApellido.setBackground(Color.WHITE);
		datoApellido.setText(perfil.getApellido());
		datoApellido.setEditable(false);
		datoApellido.setColumns(10);
		contentPane.add(datoApellido);
		
		datoNacimiento = new JTextField();
		datoNacimiento.setBounds(335, 89, 280, 20);
		datoNacimiento.setBackground(Color.WHITE);
		if(perfil.getNacimiento() != null)
			datoNacimiento.setText(perfil.getNacimiento().toString());
		datoNacimiento.setEditable(false);
		datoNacimiento.setColumns(10);
		contentPane.add(datoNacimiento);
		
		datoNick = new JTextField();
		datoNick.setBounds(335, 138, 280, 20);
		datoNick.setBackground(Color.WHITE);
		datoNick.setText(perfil.getNick());
		datoNick.setEditable(false);
		datoNick.setColumns(10);
		contentPane.add(datoNick);
		
		datoEmail = new JTextField();
		datoEmail.setBounds(335, 169, 280, 20);
		datoEmail.setBackground(Color.WHITE);
		datoEmail.setText(perfil.getEmail());
		datoEmail.setEditable(false);
		datoEmail.setColumns(10);
		contentPane.add(datoEmail);
		
		datoPerfil = new JTextField();
		datoPerfil.setBounds(335, 200, 80, 20);
		datoPerfil.setBackground(Color.WHITE);
		datoPerfil.setText(String.valueOf(perfil.getEdad()));
		datoPerfil.setEditable(false);
		datoPerfil.setColumns(10);
		contentPane.add(datoPerfil);
		
		 
		if(tipo > 0){
			Desarrollador des = (Desarrollador)perfil;
			labelLink = new JLabel("Link:");
			labelLink.setBounds(302, 234, 25, 14);
			labelLink.setFont(new Font("Eras Medium ITC", Font.PLAIN, 12));
			contentPane.add(labelLink);
			
			datoLink = new JTextField();
			datoLink.setBounds(335, 231, 280, 20);
			datoLink.setBackground(Color.WHITE);
			datoLink.setEditable(false);
			datoLink.setText(des.getLink());
			datoLink.setColumns(10);
			contentPane.add(datoLink);
		}
		
		btnAceptar = new JButton("Aceptar");
		btnAceptar.setFont(new Font("Eras Medium ITC", Font.PLAIN, 13));
		btnAceptar.setBounds(533, 288, 101, 23);
		contentPane.add(btnAceptar);
		
	/*************************************************************************************/
		
		//ACCION DE BOTON ACEPTAR
		btnAceptar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dispose();
			}
		});
	}
}